$(function () {
    $('.is_choose').click(function () {
        var current_span = $(this);
        //找到点击的这个span标签的的li父标签，获取它的cartid属性
        var cartid = current_span.parents('li').attr('cartid');
        $.getJSON('/axf/changeselected/', {'cartid': cartid}, function (data) {
            console.log(data);
        //    判断这个商品的选中状态
            if(data['status'] == '200'){
                if(data['is_select'] == true){
                    //在当前的span标签的子标签中找到span标签
                    var span = current_span.find('span');
                    span.html('√');
                }else{
                    var span = current_span.find('span');
                    span.html('');
                    // 商品列表里有未选中的状态，那么全选的按钮是空的，可以选
                    $('#all_select span span').html('')
                }
                //给当前标签设置一个是否被选中的属性，方便后面进行是否全选操作的逻辑判断
                current_span.attr('is_select', data['is_select']);
                $('.payTheBill > p > span:last-child').html('总价:' + data['money'] + '元')
            }
        })
    });
    $('.subShopping').click(function () {
        var current_btn = $(this);
        var li = $(this).parents('li');
        var cartid = li.attr('cartid');
        $.getJSON('/axf/subtocart/', {'cartid': cartid}, function (data) {
            if(data['status'] == '912'){
                //如果最开始的数量就是1的话，点击减就直接把这个商品删除掉
                li.remove();
            }else if(data['status'] == '200'){
            //    如果最开始的数量大于1的话，找到该标签的下一个兄弟标签，即显示数量的span标签,并显示为此刻的数量
                current_btn.next().html(data['g_num']);
            }
            $('.payTheBill > p > span:last-child').html('总价:' + data['money'] + '元')
        })
    });
    $('.addShopping').click(function () {
        var current_btn = $(this);
        var li = $(this).parents('li');
        var cartid = li.attr('cartid');
        $.getJSON('/axf/addtocart/', {'cartid': cartid}, function (data) {
            if(data['status'] == '200'){
            //    如果最开始的数量大于1的话，找到该标签的下一个兄弟标签，即显示数量的span标签,并显示为此刻的数量
                current_btn.prev().html(data['g_num']);
            }
            $('.payTheBill > p > span:last-child').html('总价:' + data['money'] + '元')
        })
    });
    $('#all_select').click(function () {
        //    如果有未选中的，应该执行操作是全部选中
        //    并且让自己的按钮变成选中状态
        var selected = [];
        var not_selected = [];
        $('.is_choose').each(function () {
            if($(this).attr('is_select').toLowerCase() == 'false'){
                console.log($(this).attr('is_select'));
                // 将未选中的商品对应的cardid存在not_selected中
                not_selected.push($(this).parents('li').attr('cartid'));
            }else{
                console.log($(this).attr('is_select'));
                selected.push($(this).parents('li').attr('cartid'));
            }
        });
        // if(not_selected)
        //本来是全选中的，全部变成未选中
        if(not_selected.length == 0){
            $.getJSON('/axf/allselect/', {'selects': selected.join('#'), 'action': 'unselect'}, function (data) {
                if(data['status'] == '200'){
                    $('.is_choose').each(function () {
                        $(this).find("span").html('');
                        $(this).attr('is_select', 'False');
                    })
                }
                $('#all_select > span span').html('');
                $('.payTheBill > p > span:last-child').html('总价:' + data['money'] + '元')
            });
        }else{
            // python没法识别数组类型的数据，只好把他转化为字符串
            $.getJSON('/axf/allselect/', {'selects': not_selected.join('#'), 'action': 'select'}, function (data) {
                if(data['status'] == '200'){
                    $('.is_choose').each(function () {
                        console.log($(this));
                        $(this).find("span").html('√');
                        $(this).attr('is_select', 'True');
                    })
                }
                $('#all_select > span span').html('√');
                $('.payTheBill > p > span:last-child').html('总价:' + data['money'] + '元')
            })
        }
    })
    $('#genarate_order').click(function () {
        var select_list = [];
        $('.is_choose').each(function () {
            var current = $(this);
            if(current.attr('is_select').toLowerCase() == 'true'){
                var cart_id = current.parents('li').attr('cartid');
                select_list.push(cart_id);
            }
        });
        if(select_list.length == 0){
            alert('您还没有选择任何商品！')
            return false
        }else{
            $.getJSON('/axf/genarateorder/', {'selects': select_list.join('#')}, function (data) {
                console.log(data)
                if(data['status'] == '200'){
                    window.open('/axf/orderinfo/' + data['order_id'] + '/', target='_self');
                }
            })
        }

    })
});